#!/bin/bash

# Convallaria 前端生产环境构建脚本

echo "🏗️ 构建 Convallaria 前端生产版本..."

# 检查 Node.js 版本
node_version=$(node -v 2>/dev/null)
if [ $? -ne 0 ]; then
    echo "❌ 错误: 未安装 Node.js"
    echo "请先安装 Node.js 18.0.0 或更高版本"
    exit 1
fi

echo "✅ Node.js 版本: $node_version"

# 检查 npm 版本
npm_version=$(npm -v 2>/dev/null)
echo "✅ npm 版本: $npm_version"

# 清理之前的构建
if [ -d "dist" ]; then
    echo "🧹 清理之前的构建文件..."
    rm -rf dist
fi

# 安装依赖
if [ ! -d "node_modules" ]; then
    echo "📦 安装项目依赖..."
    npm install
    if [ $? -ne 0 ]; then
        echo "❌ 依赖安装失败"
        exit 1
    fi
    echo "✅ 依赖安装完成"
fi

# 类型检查
echo "🔍 执行 TypeScript 类型检查..."
npm run type-check
if [ $? -ne 0 ]; then
    echo "❌ 类型检查失败"
    exit 1
fi
echo "✅ 类型检查通过"

# 代码检查
echo "🔍 执行 ESLint 代码检查..."
npm run lint:check
if [ $? -ne 0 ]; then
    echo "❌ 代码检查失败"
    exit 1
fi
echo "✅ 代码检查通过"

# 构建项目
echo "🏗️ 开始构建项目..."
npm run build
if [ $? -ne 0 ]; then
    echo "❌ 构建失败"
    exit 1
fi

echo "✅ 构建完成"
echo "📁 构建文件位置: ./dist"
echo "📊 构建统计:"
du -sh dist

echo ""
echo "🎉 构建成功！"
echo "📦 可以将 dist 目录部署到 Web 服务器"
